The field of invention relates generally to electronic circuit design; and, more specifically, to a method and apparatus for a folding analog-to-digital converter (ADC) having a coarse decoder with reduced complexity.
FIG. 1 shows a folding analog-to-digital converter (ADC) circuit 100. A folding ADC circuit typically includes a fine ADC 101, a fine decoder 102, a coarse ADC 103, a coarse decoder 104 and a mapping unit 105. The coarse ADC 103 typically comprises a xe2x80x9ctreexe2x80x9d of comparators 150 that each have a corresponding threshold voltage.
The threshold voltages increase with each step up the tree (i.e., TH1 less than TH2  less than TH3 less than TH4). As the amplitude of the analog input signal 106 increases, the number of comparators in the tree 150 that indicate the analog signal 106 has surpassed their corresponding threshold voltage will increase. For example, if the amplitude of the analog signal 106 is between the first threshold TH1 and the second threshold TH2, only the first comparator 107 will provide a logical xe2x80x9c1xe2x80x9d, all others will provide a logical zero.
However, if the amplitude of the analog input signal 106 is between the third threshold TH3 and the fourth threshold TH4, the first through third comparators 107 through 109 will provide a logical xe2x80x9c1xe2x80x9d. Only the highest comparator 110 in the tree 150 will provide a logical zero. The output signal format of the coarse ADC 103 is referred to as xe2x80x9cthermometer codexe2x80x9d because the number of logical xe2x80x9c1sxe2x80x9d in the coarse ADC output signal increases in an xe2x80x9cupwardxe2x80x9d direction, similar to the mercury in a thermometer, as the amplitude of the analog signal 106 grows.
The coarse ADC 103 is deemed coarse because the threshold voltages TH1 through TH4 are spaced farther apart than those associated with the fine ADC 101. That is, the coarse ADC 103 is typically designed to help identify which of N measurement regions the input signal 106 amplitude is within. The measurement regions are spaced across a range xcex94Vts of the input signal 106 being measured. The comparator tree 150 has a comparator (and a corresponding threshold) for Nxe2x88x921 of the N measurement regions.
For example, as seen in the exemplary coarse ADC transfer curve 112 of FIG. 1, note that seven regions exist but only five measurement regions exist. Regions 0 and 6 correspond to underflow and overflow regions, respectively, where changes in input signal amplitude are not measured. That is, the thermometer output signal for both ADCs 103 and 101 corresponds to all xe2x80x9c0sxe2x80x9d in the underflow region 0 and all xe2x80x9c1sxe2x80x9d in the overflow region 6.
In the exemplary coarse ADC transfer curve 112 of FIG. 1, the measurement range of the input signal xcex94Vts is divided into five measurement regions (regions 1 through 5). As such, in this example, N=5 . Thus, the coarse ADC 103 has Nxe2x88x921=4 comparators 107 through 110 and threshold voltages TH1 through TH4. If the input signal 106 amplitude reaches a level just above TH1, the output of the first comparator 107 is a logical xe2x80x9c1xe2x80x9d while all other comparator outputs are a logical xe2x80x9c0xe2x80x9d.
If the input signal 106 amplitude reaches a level just above TH3, comparators 107 through 109 will provide a logical xe2x80x9c1xe2x80x9d while comparator 110 will provide a logical xe2x80x9c0xe2x80x9d. Thus the coarse ADC 103 helps identify which measurement region the input signal 106 amplitude corresponds to. In the former case above, the coarse ADC 103 indicates the input signal 106 amplitude is within region 2; while, in the latter case above, the coarse ADC 103 indicates the input signal 106 amplitude is within region 4.
An exemplary transfer function 113 for the fine ADC 101 is also shown in FIG. 1. Note that the fine ADC transfer function 113 may be viewed as being xe2x80x9cfoldedxe2x80x9d over the N measurement regions discussed above. That is, the transition from a lower region into a higher region causes the transfer function 113 to xe2x80x9cfoldxe2x80x9d by changing its slope. The fine ADC 101 provides for finer measurement resolution because each measurement region is resolved to n different levels. This corresponds to an overall measurement resolution of xcex94Vts/(nN).
For example, the exemplary folded ADC transfer function 113 of FIG. 1 has: 1) seven regions (regions 0 through 6); 2) five measurement regions (i.e., N=5 where the measurement regions correspond to regions 1 through 5 as discussed above); 3) an input signal range xcex94Vts; and 4) resolution of the input signal to thirty two different levels within each measurement region (i.e., n=32). This corresponds to an overall input measurement resolution of xcex94Vts/160 (where nN=32xc3x975=160).
Each level within a measurement region has a corresponding output bit in the fine ADC 101 output signal. Thus, the input signal 106 amplitude within a particular measurement region is indicated by a rising or falling thermometer signal depending on which measurement region the input signal strength corresponds to.
For example, if the input voltage is within region 0, the fine ADC 101 output signal corresponds to thirty two zeros (i.e., 000 . . . 000 where all 26 bits replaced by the ellipsis are zero) which, as mentioned above, corresponds to the underflow region. Once the input voltage rises above Vo and surpasses Vo+xcex94Vts/160 (i.e., enters region 1), the least significant bit of the fine ADC 101 output signal flips to a xe2x80x9c1xe2x80x9d (i.e., the fine ADC 101 output signal is 000 . . . 001 where all 26 bits replaced by the ellipsis are a logical 0).
If the input signal voltage continues to increase, the fine ADC 101 thermometer signal rises because the slope of the transfer curve is positive within region 1. When the input voltage surpasses Vo+16xcex94Vts/160 the thermometer output signal will rise past xe2x80x9chalfwayxe2x80x9d up the slope of the transfer function 113 within the first region. That is, an input signal 106 amplitude just above Vo+16xcex94Vts/160 converts sixteen of the fine ADC""s thirty two output bits into logical xe2x80x9c1sxe2x80x9d (i.e., 000 . . . 111 where of the 26 bits replaced by the ellipsis, the 13 most significant bits are a logical 0 and the 13 least significant bits are a logical 1). This corresponds to point 114 in FIG. 1.
If the input signal amplitude 106 continues to increase, eventually, the input signal 106 will surpass Vo+32xcex94Vts/160. That is, an input signal 106. amplitude just above Vo+32xcex94Vts/160 converts all thirty two of the fine ADC""s output bits into logical xe2x80x9c1sxe2x80x9d (i.e., 111 . . . 111 where all 26 bits replaced by the ellipsis are a logical 1). This corresponds to point 115 in FIG. 1.
If the input signal continues to increase beyond the transfer curve fold observed at point 115, the thermometer output signal begins to xe2x80x9cdropxe2x80x9d because the transfer curve has a negative slope within region 2. Thus, if the input signal further increases to surpass TH1+16xcex94Vts/160 (where TH1=Vo+32xcex94Vts/160), the fine ADC 101 output signal will fall xe2x80x9chalfwayxe2x80x9d down the slope of the transfer function 113 within the second region.
In an embodiment, the input signal 106 voltage will convert the least significant sixteen of the thirty two fine ADC output bits from logical xe2x80x9c1sxe2x80x9d to logical xe2x80x9c0sxe2x80x9d (i.e., 111 . . . 000 where of the 26 bits replaced by the ellipsis, the 13 most significant bits are a logical 1 and the 13 least significant bits are a logical 0). This corresponds to point 116 in FIG. 1. Eventually, if the input signal 106 rises to just above TH1+32xcex94Vts/160, the thermometer signal will be all xe2x80x9c0sxe2x80x9d. This corresponds to point 117 in FIG. 1.
Note that, whereas in region 1 the fine ADC 101 thermometer output signal may be viewed as continually adding a 1 against a backdrop of 0s for each rise in input signal amplitude, in region 2 the fine ADC 101 thermometer output signal may be viewed as continually adding a 0 against a backdrop of 1s for each rise in input signal amplitude. That is, in region 1 the xe2x80x9cmercuryxe2x80x9d in the thermometer is a 1 while in region 2 the xe2x80x9cmercuryxe2x80x9d in the thermometer is a 0.
Regardless, it may be said that within region 1 the number of is in the fine ADC 101 output signal increases as the input signal voltage rises; and that, within region 2 the number of 1s in the fine ADC 101 output signal decrease as the input signal voltage rises. Thus region 1 has a positive slope and region 2 has a negative slope. Regions 3 and 5 operate as described for region 1 while region 4 operates as described for region 2.
Note that a xe2x80x9ccyclicalxe2x80x9d thermometer output signal follows naturally from the folded transfer function 113 of the fine ADC 101. That is, as the input signal increases across the range xcex94Vts the fine ADC 101 was designed to measure across, the thermometer output signal traces a triangular waveform having a period of 2 measurement regions.
The fine decoder 102 converts the number of xe2x80x9c1sxe2x80x9d from the fine ADC 101 output signal into a binary value. For example, if all 32 bits of the fine ADC 101 output signal are a logical xe2x80x9c1xe2x80x9d,the fine decoder 102 output signal is xe2x80x9c100000xe2x80x9d. As another example, if 16 bits of the fine ADC 101 output signal are a logical xe2x80x9c1xe2x80x9d,the fine decoder 102 output signal is xe2x80x9c010000xe2x80x9d. This allows for proper interpretation of the fine ADC 101 output signal even though the xe2x80x9cmercuryxe2x80x9d may switch from 1 to 0 or 0 to 1 over the course of the folded transfer curve 113.
The coarse decoder 104 converts the number of xe2x80x9c1sxe2x80x9d from the coarse ADC 103 output signal into a binary value. For example, if the input signal 106 amplitude is within the fifth measurement region, the coarse ADC 103 output signal will be xe2x80x9c1111xe2x80x9d. Hence, the coarse decoder 104 output signal will be xe2x80x9c100xe2x80x9d. As another example, if the input signal 106 amplitude is within the first measurement region, the coarse ADC 103 output signal will be xe2x80x9c0000xe2x80x9d. Hence, the course decoder 104 output signal will be xe2x80x9c000xe2x80x9d.
A binary value corresponding to the input signal 106 amplitude is provided by the mapping unit 105 which is designed to effectively understand: 1) the measurement region that the input signal is within (as provided by the coarse ADC decoder 104); and 2) the amplitude of the input signal 106 within the particular region indicated by the course ADC decoder 104 (as provided by the fine ADC decoder 102) from an understanding of the folded transfer function 113 of the fine ADC 101.
That is, the mapping unit 105 understands that within region 1 increasing fine ADC decoder 102 output values correspond to an increasing signal amplitude while, in region 2, decreasing fine ADC decoder 102 output values correspond to an increasing signal amplitude. In short, the mapping unit 105 converts the ADC decoder 102, 104 output values into an understanding of the approximate input signal 106 amplitude so that it may be represented as a binary value.